e5d2a8760a644516ac62fbeaaf201b421988aa93,wdl/WdlParser.java,WdlParser,parse_for_loop,#,188
Before Change
tree.add(next);
return tree;
}
Formatter formatter = new Formatter(new StringBuilder(), Locale.US);
StackTraceElement[] stack = Thread.currentThread().getStackTrace();
formatter.format("Error: Unexpected symbol (%s) when parsing %s", current, stack[0].getMethodName());
throw new SyntaxError(formatter.toString());
}
private ParseTree parse__gen2() throws SyntaxError {
Terminal current = this.tokens.current();
After Change
throw new SyntaxError(this.syntaxErrorFormatter.unexpected_symbol("step_input_list", current, new ArrayList<Integer>()));
}
private ParseTree parse_for_loop() throws SyntaxError {
Terminal current = this.tokens.current();
Terminal next;
ParseTree subtree;
int rule = current != null ? this.table[3][current.getId()] : -1;
ParseTree tree = new ParseTree( new NonTerminal(25, "for_loop"));
tree.setList(null);
if (current == null) {
StackTraceElement[] stack = Thread.currentThread().getStackTrace();
throw new SyntaxError(this.syntaxErrorFormatter.unexpected_eof(stack[1].getMethodName(), null));
}
if (rule == 21) {
LinkedHashMap<String, Integer> parameters = new LinkedHashMap<String, Integer>();
parameters.put("body", 7);
parameters.put("item", 2);
parameters.put("collection", 4);
tree.setAstTransformation(new AstTransformNodeCreator("ForLoop", parameters));
next = this.tokens.expect(TerminalId.TERMINAL_FOR.id(), this.syntaxErrorFormatter);
tree.add(next);
next = this.tokens.expect(TerminalId.TERMINAL_LPAREN.id(), this.syntaxErrorFormatter);
tree.add(next);
next = this.tokens.expect(TerminalId.TERMINAL_IDENTIFIER.id(), this.syntaxErrorFormatter);
tree.add(next);
next = this.tokens.expect(TerminalId.TERMINAL_IN.id(), this.syntaxErrorFormatter);
tree.add(next);
next = this.tokens.expect(TerminalId.TERMINAL_IDENTIFIER.id(), this.syntaxErrorFormatter);
tree.add(next);
next = this.tokens.expect(TerminalId.TERMINAL_RPAREN.id(), this.syntaxErrorFormatter);
tree.add(next);
next = this.tokens.expect(TerminalId.TERMINAL_LBRACE.id(), this.syntaxErrorFormatter);
tree.add(next);
subtree = this.parse__gen2();
tree.add( subtree);
next = this.tokens.expect(TerminalId.TERMINAL_RBRACE.id(), this.syntaxErrorFormatter);
tree.add(next);
return tree;
}
throw new SyntaxError(this.syntaxErrorFormatter.unexpected_symbol("for_loop", current, new ArrayList<Integer>()));
}
private ParseTree parse_step_output_list() throws SyntaxError {
Terminal current = this.tokens.current();